package com.zww.system.manager.service;

import com.zww.system.manager.dao.OtherStudentDao;
import com.zww.system.manager.dao.StudentDao;
import com.zww.system.manager.domain.Student;

public class StudentService {
    /*
     * 业务逻辑处理（业务员）
     * */
    /*
     * 创建StudentDao(库管)
     * */
    private OtherStudentDao studentDao = new OtherStudentDao();

    // 添加学生方法
    public boolean addStudent(Student stu) {
        // 2、将学生对象，传递给StudentDao库管中的addStudent方法
        // 3、将返回的boolean类型结果，返回给StudentController
        return studentDao.addStudent(stu);
    }

    // 判断学号是否存在
    public boolean isExists(String id) {
        Student[] stus = studentDao.findAllStudent();
        // 假设id在数组中不存在
        boolean exists = false;
        // 遍历数组，获取每一个学生对象，准备进行判断
        for (int i = 0; i < stus.length; i++) {
            Student student = stus[i];
            if (student != null && student.getId().equals(id)) {
                exists = true;
                break;
            }
        }
        return exists;
    }

    /*
     * 查看学生方法
     * */
    public Student[] findAllStudent() {
        // 调用库管对象的findAllStudent方法获取学生对象数组
        Student[] allStudent = studentDao.findAllStudent();
        // 判断数组是否存在学生信息（有返回，没有返回null）
        // 数组中主要存在一个不是null的元素，那就代表有学生信息
        boolean flag = false;
        for (int i = 0; i < allStudent.length; i++) {
            Student stu = allStudent[i];
            if (stu != null) {
                flag = true;
                break;
            }
        }
        if (flag) {
            return allStudent;
        } else {
            return null;
        }

    }

    /*
    *  删除学生信息通过学生Id
    * */
    public void deleteStudentById(String delId){
        studentDao.deleteStudentById(delId);
    }
    public void updateStudent(String updateId,Student newStu){
        studentDao.updateStudent(updateId,newStu);
    }
}
